Static Detection of Unsafe Component Loadings

نویسندگان

  • Taeho Kwon
  • Zhendong Su
چکیده

Dynamic loading of software components is a commonly used mechanism to achieve better flexibility and modularity in software. For an application’s runtime safety, it is important for the application to load only its intended components. However, programming mistakes may lead to failures to load a component, or even worse, to load a malicious component. Recent work has shown that these errors are both prevalent and severe, sometimes leading to remote code execution attacks. The work is based on dynamic analysis by monitoring and analyzing runtime component loadings. Although simple and effective in detecting real errors, it suffers from limited code coverage and may miss important vulnerabilities. Thus, it is desirable to develop effective techniques to detect all possible unsafe component loadings. This paper presents the first static binary analysis aiming at detecting all possible loading-related errors. The key challenge is how to scalably and precisely compute what components may be loaded at relevant program locations. Our main insight is that this information is often determined locally from the component loading call sites. This motivates us to design a demand-driven analysis, working backward starting from the relevant call sites. In particular, for a given call site c, we first compute its context-sensitive executable slices, one for each execution context. Then we emulate the slices to obtain the set of components possibly loaded at c. This novel combination of slicing and emulation achieves good scalability and precision by avoiding expensive symbolic analysis. We implemented our technique and evaluated its effectiveness against the existing dynamic technique on nine popular Windows applications. Results show that our tool has better coverage and is precise—it is able to detect many more unsafe loadings. It is also scalable and able to analyze all nine applications within minutes.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Automatic Detection of Vulnerable Dynamic Component Loadings

Dynamic loading of software components (e.g., libraries or modules) is a widely used mechanism for improved system modularity and flexibility. In general, an operating system or a runtime environment resolves the loading of a specifically named component by searching for its first occurrence in a sequence of directories determined at runtime. Correct component resolution is critical for reliabl...

متن کامل

Keshmesh: Bringing Advanced Static Analysis to Concurrency Bug Pattern Detectors

Bug patterns are coding idioms that may make the code less maintainable or turn into bugs in future. The state-of-the-art tools for detecting concurrency bug patterns (CBPs) perform simple, intraprocedural analyses. While this simplicity makes the analysis fast, it does not provide protection against CBPs that involve aliasing or multiple methods. This paper introduces a practical and extensibl...

متن کامل

Seismic Response of 4-Legged Self-Supporting Telecommunication Towers

Telecommunication tower is an important component of the basic infrastructure of communication systems and thus preserving them in events of natural disasters - such as a severe earthquake - is of high priority. In past studies, researchers have mostly considered the effects of wind and earthquake-induced loads on 3-legged (triangular cross-section) self-supporting steel telecommunication tower...

متن کامل

The investigating of relationship between changes of some of the cardiorespiratory factors during submaximal activity with slow component of Vo2 ,after static and dynamic stretching in active women

The purpose of this study was to determine the relationship between changes of some of the cardiorespiratory factors during submaximal activity with slow component of Vo2 after static and dynamic stretching in 16 active women from physical education college ( Mean ± SD : age, 23.87± 1.62 yr ; weight, 57.20 ± 7.84 kg ; height, 163.46 ± 6.23 cm; body fat % ,23.96 ± 2.70 and Vo2max, 42.15 ± 3.4...

متن کامل

Mechanical Properties of Graphene/Epoxy Nanocomposites under Static and Flexural Fatigue Loadings

In the present study, the effect of various weight fractions of graphene nanoplatelet (GPL) on flexural fatigue behavior of epoxy polymer has been investigated at room temperature and generally the temperature was monitored on the surface of specimen during each test. The flexural stiffness of grapheme nano-platelet/epoxy nanocomposites at 0.1, 0.25 and 0.5 wt. % as a main effective parameter o...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012